/dts-v1/;

#include "mt7620a.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	compatible = "xiaomi,miwifi-r3", "ralink,mt7620a-soc";
	model = "Xiaomi Mi Router R3";

	chosen {
		bootargs = "console=ttyS0,115200";
	};
	
	memory@0 {
		device_type = "memory";
		reg = <0x0 0x8000000>;
	};

	gpio-leds {
		compatible = "gpio-leds";

		blue {
			label = "miwifi-r3:blue:status";
			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
		};

		yellow {
			label = "miwifi-r3:yellow:status";
			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
		};

		red {
			label = "miwifi-r3:red:status";
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		poll-interval = <20>;

		reset {
			label = "reset";
			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_RESTART>;
		};
	};

	nand {
	status = "okay";
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "mtk,mt7620-nand";

		partition@0 {
			label = "Bootloader";
			reg = <0x0 0x40000>;
		};

		partition@40000 {
			label = "Config";
			reg = <0x40000 0x40000>;
		};

		partition@80000 {
			label = "Bdata";
			reg = <0x80000 0x40000>;
			read-only;
		};

		factory: partition@0xc0000 {
			label = "Factory";
			reg = <0xc0000 0x40000>;
			read-only;
		};

		partition@100000 {
			label = "crash";
			reg = <0x100000 0x40000>;
			read-only;
		};

		partition@140000 {
			label = "crash_syslog";
			reg = <0x140000 0x40000>;
			read-only;
		};

		partition@180000 {
			label = "reserved0";
			reg = <0x180000 0x80000>;
			read-only;
		};

		partition@200000 {
			label = "kernel0_rsvd";
			reg = <0x200000 0x400000>;
		};

		partition@600000 {
			label = "kernel";
			reg = <0x600000 0x400000>;
		};

		/* ubi partition is the result of squashing
		 * next consequent stock partitions:
		 * - rootfs0 (rootfs partition for stock kernel0),
		 * - rootfs1 (rootfs partition for stock failsafe kernel1),
		 * - overlay (used as ubi overlay in stock fw)
		 * resulting 117,5MiB space for packages.
		 */

		partition@a00000 {
			label = "ubi";
			reg = <0xa00000 0x7600000>;
		};
	};
};

&gpio1 {
	status = "okay";
};

&ehci {
	status = "okay";
};

&ohci {
	status = "okay";
};

&ethernet {
	pinctrl-names = "default";
	pinctrl-0 = <&ephy_pins>;
	mtd-mac-address = <&factory 0x28>;
	mediatek,portmap = "llllw";
};

&wmac {
	ralink,mtd-eeprom = <&factory 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pa_pins>;
};

&pcie {
	status = "okay";

	pcie-bridge {
		mt76@0,0 {
			reg = <0x0000 0 0 0 0>;
			device_type = "pci";
			mediatek,mtd-eeprom = <&factory 0x8000>;
			ieee80211-freq-limit = <5000000 6000000>;
		};
	};
};

&pinctrl {
	state_default: pinctrl0 {
		gpio {
			ralink,group = "i2c", "rgmii1";
			ralink,function = "gpio";
		};
	};
};
